Time Series Analysis
Max lag exceeds data available. Using max lag: 73
Max lag exceeds data available. Using max lag: 80
Max lag exceeds data available. Using max lag: 22
[1] "sf" "data.frame"



Rows: 162,585
Columns: 3
$ date <date> 2020-02-29, 2020-03-01, 2020-03-02, 2020-03-03, 2020-03-~
$ location <chr> "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan~
$ new_cases_smoothed <dbl> 0.714, 0.714, 0.000, 0.000, 0.000, 0.000, 0.000, 0.429, 0~

$upper
'dendrogram' with 2 branches and 2 members total, at height 19255884
$lower
$lower[[1]]
'dendrogram' with 2 branches and 202 members total, at height 5207258
$lower[[2]]
'dendrogram' with 2 branches and 16 members total, at height 6715621

Rows: 218
Columns: 2
$ Var1 <fct> Afghanistan, Africa, Albania, Algeria, Andorra, Angola, Anguilla, Antig~
$ Freq <int> 1, 2, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,~
Rows: 162,585
Columns: 4
$ date <date> 2020-02-29, 2020-03-01, 2020-03-02, 2020-03-03, 2020-03-~
$ location <chr> "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan~
$ new_cases_smoothed <dbl> 0.714, 0.714, 0.000, 0.000, 0.000, 0.000, 0.000, 0.429, 0~
$ cluster <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ~
1 2 3 4
181 21 15 1
`geom_smooth()` using method = 'loess' and formula 'y ~ x'

LS0tDQp0aXRsZTogIkNPVklELTE5IFZhcmlhbnRzIEFuYWx5c2lzIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KYGBge3IsIGluY2x1ZGUgPSBGQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gRkFMU0UsIHdhcm5pbmcgPSBGQUxTRSkNCmBgYA0KDQpgYGB7ciwgZWNobyA9IEZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBjb21tZW50PUZBTFNFfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KHNjYWxlcykNCmxpYnJhcnkocGxvdGx5KQ0KbGlicmFyeShEVCkNCmxpYnJhcnkoZGF0YS50YWJsZSkNCmxpYnJhcnkoZ3RhYmxlKQ0KbGlicmFyeShwbG90bHkpDQpsaWJyYXJ5KGx1YnJpZGF0ZSkNCmxpYnJhcnkodnRhYmxlKQ0KbGlicmFyeShyanNvbikNCmxpYnJhcnkodGltZXRrKQ0KbGlicmFyeShSc3NhKQ0KbGlicmFyeShSQ29sb3JCcmV3ZXIpDQpsaWJyYXJ5KGdnaGlnaGxpZ2h0KQ0KDQpgJSFpbiVgIDwtIE5lZ2F0ZShgJWluJWApDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRSwgd2FybmluZz1GQUxTRX0NCmNvdmlkIDwtIHJlYWRfY3N2KCJkYXRhL293aWQtY292aWQtZGF0YS5jc3YiLHNob3dfY29sX3R5cGVzID0gRkFMU0UpDQojdmFyaWFudHMgPC0gcmVhZF9jc3YoImRhdGEvY292aWQtdmFyaWFudHMuY3N2IixzaG93X2NvbF90eXBlcyA9IEZBTFNFKQ0KDQpnaXNhaWQgPC0gYXMuZGF0YS5mcmFtZShmcmVhZCgiZGF0YS9naXNhaWRfdmFyaWFudHNfc3RhdGlzdGljcy50c3YiKSkgJT4lIA0KICByZW5hbWUoZGF0ZSA9IGBXZWVrIHByaW9yIHRvYCwNCiAgICAgICAgIGNvdW50ID0gYFN1Ym1pc3Npb24gQ291bnRgLA0KICAgICAgICAgcGVyY19zZXF1ZW5jZXMgPSBgJSBwZXIgQ291bnRyeSBhbmQgV2Vla2AsDQogICAgICAgICB0b3RhbCA9IGBUb3RhbCBwZXIgQ291bnRyeSBhbmQgV2Vla2AsDQogICAgICAgICB2YXJpYW50ID0gVmFsdWUpICU+JSANCiAgbXV0YXRlKGRhdGUgPSB5bWQoZGF0ZSksDQogICAgICAgICBwZXJjX3NlcXVlbmNlcyA9IHJvdW5kKGNvdW50IC8gdG90YWwgKiAxMDAsIDMpKSMgJT4lIA0KIyAgc2VwYXJhdGUodmFyaWFudCwgaW50byA9IGMoInZhcmlhbnQiLCAib3JpZ2luIiksIHNlcCA9IGMoImZpcnN0IGRldGVjdGVkIGluICIpKQ0KDQpnaXNhaWRfdmFyaWFudHMgPC0gZ2lzYWlkICU+JSANCiAgZmlsdGVyKFR5cGUgPT0gIlZhcmlhbnQiKSAlPiUNCiAgc2VwYXJhdGUodmFyaWFudCwgYygidmFyaWFudCIsICJvcmlnaW4iKSwgc2VwID0gImZpcnN0IGRldGVjdGVkIGluICIpICU+JSANCiAgc2VsZWN0KC1UeXBlKQ0KYGBgDQoNCmBgYHtyfQ0KY292aWRfTkFzIDwtIGNvdmlkICU+JSANCiAgZ3JvdXBfYnkobG9jYXRpb24pICU+JSANCiAgc3VtbWFyaXNlX2FsbChmdW5zKHN1bShpcy5uYSguKSkpKSAlPiUgDQogIHBpdm90X2xvbmdlcihjb2xzID0gLWxvY2F0aW9uLCBuYW1lc190byA9ICJWYXJpYWJsZSIsIHZhbHVlc190byA9ICJOQXMiKSAlPiUgDQogIG11dGF0ZShQZXJjZW50ID0gcm91bmQoTkFzIC8gbnJvdyhjb3ZpZCkgKiAxMDAgLDIpKSAlPiUgDQogIGFycmFuZ2UoLU5BcykNCmBgYA0KDQpgYGB7cn0NCmNvdmlkX05BcyAlPiUgDQogIGdyb3VwX2J5KGxvY2F0aW9uKSAlPiUgDQogIHN1bW1hcmlzZSh0b3RhbF9wY3RfbmEgPSBzdW0oUGVyY2VudCkpICU+JSANCiAgYXJyYW5nZSh0b3RhbF9wY3RfbmEpICU+JSANCiAgZGF0YXRhYmxlKGZpbHRlciA9ICd0b3AnKQ0KYGBgDQoNCmBgYHtyfQ0KI0hlbHBlciBmdW5jdGlvbiBmb3IgZmlsdGVyaW5nIGRhdGENCm15X2RhdGEgPC0gZnVuY3Rpb24oY291bnRyeV9jb3ZpZF9maWx0ZXIsIGNvdW50cnlfZ2lzYWlkX2ZpbHRlcil7DQogIGRhdGEgPC0gY292aWQgJT4lIA0KICAgIGZpbHRlcihsb2NhdGlvbiA9PSBjb3VudHJ5X2NvdmlkX2ZpbHRlcikNCiAgZ2lzYWlkX2RhdGEgPC0gZ2lzYWlkX3ZhcmlhbnRzICU+JSANCiAgICBmaWx0ZXIoQ291bnRyeSA9PSBjb3VudHJ5X2dpc2FpZF9maWx0ZXIpDQogIGRhdGEgPC0gbGVmdF9qb2luKGRhdGEsIGdpc2FpZF9kYXRhLCBieSA9ICJkYXRlIikNCiAgZGF0YQ0KfQ0KDQojY292aWQgLSBVbml0ZWQgU3RhdGVzDQojZ2lzYWlkIC0gIlVTQSINCg0KdXMgPC0gbXlfZGF0YSgiVW5pdGVkIFN0YXRlcyIsICJVU0EiKQ0KYGBgDQoNCg0KYGBge3IgIlVTIFBsb3RzIn0NCnZhcmlhbnRzX3Bsb3QgPC0gZ2dwbG90KGRhdGEgPSB1cywgYWVzKHggPSBkYXRlKSkgKw0KICBnZW9tX2FyZWEoYWVzKHkgPSBwZXJjX3NlcXVlbmNlcywgY29sb3IgPSB2YXJpYW50LCBmaWxsID0gdmFyaWFudCksIHBvc2l0aW9uID0gImRvZGdlIiwgc2hvdy5sZWdlbmQgPSBGQUxTRSkgKw0KICB0aGVtZV9taW5pbWFsKCkNCg0KDQpjYXNlc19wbG90IDwtDQogIGdncGxvdChkYXRhID0gdXMsIGFlcyh4ID0gZGF0ZSkpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gbmV3X2Nhc2VzX3Blcl9taWxsaW9uKSwgc2hvdy5sZWdlbmQgPSBGQUxTRSkgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBuZXdfZGVhdGhzX3Blcl9taWxsaW9uKSkgKyANCiAgdGhlbWVfbWluaW1hbCgpDQoNCg0KZGVhdGhzX3Bsb3QgPC0gZ2dwbG90KGRhdGEgPSB1cywgYWVzKHggPSBkYXRlKSkgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBuZXdfZGVhdGhzX3Blcl9taWxsaW9uKSkgKyANCiAgdGhlbWVfbWluaW1hbCgpDQoNCg0KdmFjY2luYXRpb25zX3Bsb3QgPC0gZ2dwbG90KHVzLCBhZXMoeCA9IGRhdGUpKSArDQogIGdlb21fbGluZShhZXMoeSA9IG5ld192YWNjaW5hdGlvbnNfc21vb3RoZWRfcGVyX21pbGxpb24pKSArDQogIHRoZW1lX21pbmltYWwoKQ0KDQoNCnZhcmlhbnRzX2Nhc2VzX3Bsb3QgPC0gZ2dwbG90KGRhdGEgPSB1cywgYWVzKHggPSBkYXRlKSkgKyANCiAgZ2VvbV9hcmVhKGFlcyh5ID0gcGVyY19zZXF1ZW5jZXMsIGNvbG9yID0gdmFyaWFudCwgZmlsbCA9IHZhcmlhbnQpLCBzaG93LmxlZ2VuZCA9RkFMU0UsIGFscGhhID0gMC41LCBwb3NpdGlvbiA9ICJkb2RnZSIpICsgDQogIGdlb21fbGluZShhZXMoeSA9IG5ld19jYXNlc19zbW9vdGhlZF9wZXJfbWlsbGlvbiAvIDQwKSkgKyANCiAgc2NhbGVfeV9jb250aW51b3VzKCJQZXJjZW50IG9mIFNlcXVlbmNlcyIsIHNlYy5heGlzPXNlY19heGlzKH4uKjQwLCBuYW1lID0gIk5ldyBDYXNlcyBQZXIgTWlsbGlvbiIpKSArIA0KICB0aGVtZV9taW5pbWFsKCkgKyANCiAgbGFicyh0aXRsZSA9ICJQcm9wb3J0aW9uIG9mIENvdmlkIFZhcmlhbnRzIHZzIE5ldyBDYXNlcyBQZXIgTWlsbGlvbiIpICArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMDA3MDEpLCB5PTc1LCBsYWJlbD0iQWxwaGEvT3RoZXIiKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMTA5MDEpLCB5PTc1LCBsYWJlbD0iRGVsdGEiKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMjAyMDEpLCB5PTc1LCBsYWJlbD0iT21pY3JvbiIpDQoNCg0KdmFyaWFudHNfZGVhdGhzX3Bsb3QgPC0gZ2dwbG90KGRhdGEgPSB1cywgYWVzKHggPSBkYXRlKSkgKyANCiAgZ2VvbV9hcmVhKGFlcyh5ID0gcGVyY19zZXF1ZW5jZXMsIGNvbG9yID0gdmFyaWFudCwgZmlsbCA9IHZhcmlhbnQpLHNob3cubGVnZW5kID1GQUxTRSwgYWxwaGEgPSAwLjUsIHBvc2l0aW9uID0gImRvZGdlIikgKyANCiAgZ2VvbV9saW5lKGFlcyh5ID0gbmV3X2RlYXRoc19zbW9vdGhlZF9wZXJfbWlsbGlvbio1KSkgKyANCiAgc2NhbGVfeV9jb250aW51b3VzKCJQZXJjZW50IG9mIFNlcXVlbmNlcyIsIHNlYy5heGlzPXNlY19heGlzKH4uLzUsIG5hbWUgPSAiTmV3IERlYXRocyBQZXIgTWlsbGlvbiIpKSArIA0KICB0aGVtZV9taW5pbWFsKCkgKyANCiAgbGFicyh0aXRsZSA9ICJQcm9wb3J0aW9uIG9mIENvdmlkIFZhcmlhbnRzIHZzIE5ldyBEZWF0aHMgUGVyIE1pbGxpb24iKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMDA3MDEpLCB5PTc1LCBsYWJlbD0iQWxwaGEvT3RoZXIiKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMTA5MDEpLCB5PTc1LCBsYWJlbD0iRGVsdGEiKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMjAyMDEpLCB5PTc1LCBsYWJlbD0iT21pY3JvbiIpDQoNCg0KY2FzZXNfdmFjY2luYXRpb25zX3Bsb3QgPC0gZ2dwbG90KGRhdGEgPSB1cywgYWVzKHggPSBkYXRlKSkgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBuZXdfY2FzZXNfc21vb3RoZWRfcGVyX21pbGxpb24pLCBzaG93LmxlZ2VuZCA9IEZBTFNFKSArDQogIGdlb21fbGluZShhZXMoeSA9IHBlb3BsZV92YWNjaW5hdGVkX3Blcl9odW5kcmVkKjUwKSkgKyANCiAgc2NhbGVfeV9jb250aW51b3VzKCJOZXcgQ2FzZXMgUGVyIE1pbGxpb24iLCBzZWMuYXhpcz1zZWNfYXhpcyh+Li81MCwgbmFtZSA9ICJQZW9wbGUgVmFjY2luYXRlZCBQZXIgSHVuZHJlZCIpKSArIA0KICB0aGVtZV9taW5pbWFsKCkgKyANCiAgbGFicyh0aXRsZSA9ICJOZXcgQ2FzZXMgUGVyIE1pbGxpb24gdnMuIFBlb3BsZSBWYWNjaW5hdGVkIFBlciBIdW5kcmVkIikNCg0KZGVhdGhzX3ZhY2NpbmF0aW9uc19wbG90IDwtIGdncGxvdCh1cywgYWVzKHggPSBkYXRlKSkgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBuZXdfZGVhdGhzX3Blcl9taWxsaW9uKSwgc2hvdy5sZWdlbmQgPSBGQUxTRSkgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBwZW9wbGVfZnVsbHlfdmFjY2luYXRlZF9wZXJfaHVuZHJlZC83KSkgKyANCiAgc2NhbGVfeV9jb250aW51b3VzKCJOZXcgRGVhdGhzIFBlciBNaWxsaW9uIiwgc2VjLmF4aXM9c2VjX2F4aXMofi4qNywgbmFtZSA9ICJQZW9wbGUgVmFjY2luYXRlZCBQZXIgSHVuZHJlZCIpKSArIA0KICB0aGVtZV9taW5pbWFsKCkgKyANCiAgbGFicyh0aXRsZSA9ICJOZXcgRGVhdGhzIFBlciBNaWxsaW9uIHZzLiBQZW9wbGUgRnVsbHkgVmFjY2luYXRlZCBQZXIgSHVuZHJlZCIpDQoNCg0KdmFyaWFudHNfaG9zcGl0YWxpemF0aW9uc19wbG90IDwtIGdncGxvdCh1cywgYWVzKHggPSBkYXRlKSkgKyANCiAgZ2VvbV9hcmVhKGFlcyh5ID0gcGVyY19zZXF1ZW5jZXMsIGNvbG9yID0gdmFyaWFudCwgZmlsbCA9IHZhcmlhbnQpLCBzaG93LmxlZ2VuZCA9RkFMU0UsIGFscGhhID0gMC41LCBwb3NpdGlvbiA9ICJkb2RnZSIpICsgDQogIGdlb21fbGluZShhZXMoeSA9IHdlZWtseV9ob3NwX2FkbWlzc2lvbnNfcGVyX21pbGxpb24gLyA1KSkgKyANCiAgc2NhbGVfeV9jb250aW51b3VzKCJQZXJjZW50IG9mIFNlcXVlbmNlcyIsIHNlYy5heGlzPXNlY19heGlzKH4uKjUsIG5hbWUgPSAiSG9zcGl0YWxpemF0aW9ucyBQZXIgTWlsbGlvbiIpKSArIA0KICB0aGVtZV9taW5pbWFsKCkgKyANCiAgbGFicyh0aXRsZSA9ICJQcm9wb3J0aW9uIG9mIENvdmlkIFZhcmlhbnRzIHZzIEhvc3BpdGFsaXphdGlvbnMgUGVyIE1pbGxpb24iKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMDA3MDEpLCB5PTc1LCBsYWJlbD0iQWxwaGEvT3RoZXIiKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMTA5MDEpLCB5PTc1LCBsYWJlbD0iRGVsdGEiKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMjAyMDEpLCB5PTc1LCBsYWJlbD0iT21pY3JvbiIpDQoNCnZhcmlhbnRzX3ZhY2NpbmF0aW9uc19wbG90IDwtIGdncGxvdCh1cywgYWVzKHggPSBkYXRlKSkgKyANCiAgZ2VvbV9hcmVhKGFlcyh5ID0gcGVyY19zZXF1ZW5jZXMsIGNvbG9yID0gdmFyaWFudCwgZmlsbCA9IHZhcmlhbnQpLCBzaG93LmxlZ2VuZCA9RkFMU0UsIGFscGhhID0gMC41LCBwb3NpdGlvbiA9ICJkb2RnZSIpICsgDQogIGdlb21fbGluZShhZXMoeSA9IHBlb3BsZV9mdWxseV92YWNjaW5hdGVkX3Blcl9odW5kcmVkKSkgKyANCiAgc2NhbGVfeV9jb250aW51b3VzKCJQZXJjZW50IG9mIFNlcXVlbmNlcyIsIHNlYy5heGlzPXNlY19heGlzKH4uLCBuYW1lID0gIlBlb3BsZSBWYWNjaW5hdGVkIFBlciBIdW5kcmVkIikpICsgDQogIHRoZW1lX21pbmltYWwoKSArIA0KICBsYWJzKHRpdGxlID0gIlByb3BvcnRpb24gb2YgQ292aWQgVmFyaWFudHMgdnMgUGVvcGxlIEZ1bGx5IFZhY2NpbmF0ZWQiKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMDA3MDEpLCB5PTc1LCBsYWJlbD0iQWxwaGEvT3RoZXIiKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMTA5MDEpLCB5PTc1LCBsYWJlbD0iRGVsdGEiKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMjAyMDEpLCB5PTc1LCBsYWJlbD0iT21pY3JvbiIpDQoNCnZhcmlhbnRzX3ZhY2NpbmF0aW9uc19wbG90DQpgYGANCg0KYGBge3J9DQp2YWNjaW5hdGlvbnNfcGxvdA0KYGBgDQoNCg0KYGBge3J9DQp2YXJpYW50c19jYXNlc19wbG90IDwtIGdncGxvdChkYXRhID0gdXMsIGFlcyh4ID0gZGF0ZSkpICsgDQogIGdlb21fYXJlYShhZXMoeSA9IHBlcmNfc2VxdWVuY2VzLCBjb2xvciA9IHZhcmlhbnQsIGZpbGwgPSB2YXJpYW50KSwgc2hvdy5sZWdlbmQgPUZBTFNFLCBhbHBoYSA9IDAuNSwgcG9zaXRpb24gPSAiZG9kZ2UiKSArIA0KICBnZW9tX2xpbmUoYWVzKHkgPSBuZXdfY2FzZXNfc21vb3RoZWRfcGVyX21pbGxpb24gLyA0MCkpICsgDQogIHNjYWxlX3lfY29udGludW91cygiUGVyY2VudCBvZiBTZXF1ZW5jZXMiLCBzZWMuYXhpcz1zZWNfYXhpcyh+Lio0MCwgbmFtZSA9ICJOZXcgQ2FzZXMgUGVyIE1pbGxpb24iKSkgKyANCiAgdGhlbWVfbWluaW1hbCgpICsgDQogIGxhYnModGl0bGUgPSAiUHJvcG9ydGlvbiBvZiBDb3ZpZCBWYXJpYW50cyB2cyBOZXcgQ2FzZXMgUGVyIE1pbGxpb24iKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMDA3MDEpLCB5PTc1LCBsYWJlbD0iQWxwaGEvT3RoZXIiKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMTA5MDEpLCB5PTc1LCBsYWJlbD0iRGVsdGEiKSArDQogIGFubm90YXRlKGdlb209ImxhYmVsIiwgeD15bWQoMjAyMjAyMDEpLCB5PTc1LCBsYWJlbD0iT21pY3JvbiIpDQoNCnZhcmlhbnRzX2Nhc2VzX3Bsb3QNCmBgYA0KDQpgYGB7cn0NCnZhcmlhbnRzX2hvc3BpdGFsaXphdGlvbnNfcGxvdA0KYGBgDQoNCmBgYHtyfQ0KdmFyaWFudHNfZGVhdGhzX3Bsb3QNCmBgYA0KDQoNCiMgVGltZSBTZXJpZXMgQW5hbHlzaXMNCg0KYGBge3J9DQp1cyAlPiUgDQogIHBsb3RfdGltZV9zZXJpZXMoZGF0ZSwgbmV3X2Nhc2VzX3Ntb290aGVkX3Blcl9taWxsaW9uKQ0KYGBgDQoNCmBgYHtyfQ0KdXMgJT4lIA0KICBwbG90X2FjZl9kaWFnbm9zdGljcyhkYXRlLCBuZXdfY2FzZXNfc21vb3RoZWRfcGVyX21pbGxpb24sIC5zaG93X3doaXRlX25vaXNlX2JhcnMgPSBUKSANCmBgYA0KDQoNCmBgYHtyfQ0KZ2lzYWlkX3ZhcmlhbnRzICU+JSANCiAgZmlsdGVyKENvdW50cnkgPT0gIlVTQSIsIHZhcmlhbnQgJWluJSBjKCJWT0MgT21pY3JvbiBHUkEgKEIuMS4xLjUyOStCQS4qKSAiLCAiVk9DIERlbHRhIEdLIChCLjEuNjE3LjIrQVkuKikgIiwgIlZPQyBBbHBoYSBHUlkgKEIuMS4xLjcrUS4qKSAiKSkgJT4lIA0KICBwbG90X3RpbWVfc2VyaWVzKGRhdGUsIHBlcmNfc2VxdWVuY2VzLCAuZmFjZXRfdmFycz12YXJpYW50LCAubGVnZW5kX3Nob3cgPSBGQUxTRSkNCmBgYA0KDQpgYGB7cn0NCmdpc2FpZF92YXJpYW50cyAlPiUgDQogIGZpbHRlcihDb3VudHJ5ID09ICJVU0EiLCB2YXJpYW50ICVpbiUgYygiVk9DIE9taWNyb24gR1JBIChCLjEuMS41MjkrQkEuKikgIiwgIlZPQyBEZWx0YSBHSyAoQi4xLjYxNy4yK0FZLiopICIsICJWT0MgQWxwaGEgR1JZIChCLjEuMS43K1EuKikgIikpICU+JSANCiAgZ3JvdXBfYnkodmFyaWFudCkgJT4lIA0KICBwbG90X2FjZl9kaWFnbm9zdGljcyhkYXRlLCBwZXJjX3NlcXVlbmNlcywgLnNob3dfd2hpdGVfbm9pc2VfYmFycyA9IFQpIA0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeSgic2YiKQ0KbGlicmFyeSgicm5hdHVyYWxlYXJ0aCIpDQpsaWJyYXJ5KCJybmF0dXJhbGVhcnRoZGF0YSIpDQoNCndvcmxkIDwtIG5lX2NvdW50cmllcyhzY2FsZSA9ICJtZWRpdW0iLCByZXR1cm5jbGFzcyA9ICJzZiIpDQpjbGFzcyh3b3JsZCkNCmBgYA0KDQpgYGB7cn0NCndvcmxkX3ZhcmlhbnRzX2RmIDwtIGdpc2FpZF92YXJpYW50cyAlPiUgDQogICAgZ3JvdXBfYnkoQ291bnRyeSwpICU+JSANCiAgICBtdXRhdGUoQ291bnRyeSA9IGNhc2Vfd2hlbigNCiAgICAgIENvdW50cnkgPT0gIlVTQSIgfiAiVW5pdGVkIFN0YXRlcyIsDQogICAgICAgICAgVFJVRSB+IGFzLmNoYXJhY3RlcihDb3VudHJ5KQ0KICAgICAgICAgICkpICU+JSANCiAgc3VtbWFyaXNlKG1vc3RfcmVjZW50X2RhdGUgPSBkYXRlW24oKV0sDQogICAgICAgICAgICBwcmV2YWxlbnRfdmFyaWFudCA9IHZhcmlhbnRbZGF0ZSA9PSBkYXRlW24oKV0gJiBwZXJjX3NlcXVlbmNlcyA9PSBtYXgocGVyY19zZXF1ZW5jZXNbZGF0ZSA9PSBkYXRlW24oKV1dKV0sDQogICAgICAgICAgICAuZ3JvdXBzID0gJ2Ryb3AnKSAlPiUgDQogIGFycmFuZ2UoZGVzYyhtb3N0X3JlY2VudF9kYXRlKSkgJT4lIA0KICByZW5hbWUobG9jYXRpb24gPSBDb3VudHJ5KQ0KDQp3b3JsZF92YXJpYW50c19kZiAlPiUgDQogIGFycmFuZ2UobW9zdF9yZWNlbnRfZGF0ZSkNCmBgYA0KDQpgYGB7ciwgd2FybmluZz1GQUxTRX0NCndvcmxkX2Nhc2VzX3Blcl9taWxfZGYgPC0gY292aWQgJT4lIA0KICBncm91cF9ieShsb2NhdGlvbikgJT4lIA0KICBzdW1tYXJpc2UobW9zdF9yZWNlbnRfZGF0ZSA9IGRhdGVbbWF4KHdoaWNoKCFpcy5uYShuZXdfY2FzZXNfc21vb3RoZWRfcGVyX21pbGxpb24pKSldLA0KICAgICAgICAgICAgICBuZXdfY2FzZXNfcGVyX21pbCA9IG5ld19jYXNlc19zbW9vdGhlZF9wZXJfbWlsbGlvblttYXgod2hpY2goIWlzLm5hKG5ld19jYXNlc19zbW9vdGhlZF9wZXJfbWlsbGlvbikpKV0pDQoNCndvcmxkX2Nhc2VzX2RmIDwtIGNvdmlkICU+JSANCiAgZ3JvdXBfYnkobG9jYXRpb24pICU+JSANCiAgc3VtbWFyaXNlKG1vc3RfcmVjZW50X2RhdGUgPSBkYXRlW21heCh3aGljaCghaXMubmEobmV3X2Nhc2VzX3Ntb290aGVkKSkpXSwNCiAgICAgICAgICAgICAgbmV3X2Nhc2VzID0gbmV3X2Nhc2VzX3Ntb290aGVkW21heCh3aGljaCghaXMubmEobmV3X2Nhc2VzX3Ntb290aGVkKSkpXSkNCmBgYA0KDQpgYGB7cn0NCndvcmxkX3ZhcmlhbnRzX2xvYyA8LSBsZWZ0X2pvaW4od29ybGRfdmFyaWFudHNfZGYsIGNvdmlkWywgYygibG9jYXRpb24iLCAiaXNvX2NvZGUiKV0sIGJ5ID0gImxvY2F0aW9uIiwgYWxsLnggPSBUUlVFLCBhbGwueSA9IEZBTFNFKSAlPiUgDQogIHJlbmFtZShndV9hMyA9IGlzb19jb2RlKSAlPiUgDQogIHVuaXF1ZSgpDQoNCndvcmxkX2Nhc2VzX3Blcl9taWxfbG9jIDwtIGxlZnRfam9pbih3b3JsZF9jYXNlc19wZXJfbWlsX2RmLCBjb3ZpZFssIGMoImxvY2F0aW9uIiwgImlzb19jb2RlIildLCBieSA9ICJsb2NhdGlvbiIsIGFsbC54ID0gVFJVRSwgYWxsLnkgPSBGQUxTRSkgJT4lIA0KICByZW5hbWUoZ3VfYTMgPSBpc29fY29kZSkgJT4lIA0KICB1bmlxdWUoKQ0KDQp3b3JsZF9jYXNlc19sb2MgPC0gbGVmdF9qb2luKHdvcmxkX2Nhc2VzX2RmLCBjb3ZpZFssIGMoImxvY2F0aW9uIiwgImlzb19jb2RlIildLCBieSA9ICJsb2NhdGlvbiIsIGFsbC54ID0gVFJVRSwgYWxsLnkgPSBGQUxTRSkgJT4lIA0KICByZW5hbWUoZ3VfYTMgPSBpc29fY29kZSkgJT4lIA0KICB1bmlxdWUoKQ0KDQp3b3JsZF92YXJpYW50c19tYXAgPC0gbGVmdF9qb2luKHdvcmxkLCB3b3JsZF92YXJpYW50c19sb2MsIGJ5ID0gImd1X2EzIiwgYWxsLnggPSBUUlVFKQ0KDQp3b3JsZF9jYXNlc19wZXJfbWlsX21hcCA8LSBsZWZ0X2pvaW4od29ybGQsIHdvcmxkX2Nhc2VzX3Blcl9taWxfbG9jLCBieSA9ICJndV9hMyIsIGFsbC54ID0gVFJVRSkNCg0Kd29ybGRfY2FzZXNfbWFwIDwtIGxlZnRfam9pbih3b3JsZCwgd29ybGRfY2FzZXNfbG9jLCBieSA9ICJndV9hMyIsIGFsbC54ID0gVFJVRSkNCmBgYA0KDQpgYGB7cn0NCnAgPC0gZ2dwbG90KGRhdGEgPSB3b3JsZF92YXJpYW50c19tYXAsIGFlcyhmaWxsID0gcHJldmFsZW50X3ZhcmlhbnQsIHRleHQgPSBwYXN0ZTAoIkNvdW50cnk6ICIsIG5hbWUsICJcbkxhc3QgZGF0ZTogIiwgbW9zdF9yZWNlbnRfZGF0ZSkpKSArIA0KICBnZW9tX3NmKCkgKyANCiAgeGxhYigiIikgKyANCiAgeWxhYigiIikgKyANCiAgbGFicyh0aXRsZSA9ICJNb3N0IFByZXZhbGVudCBDb3ZpZCBWYXJpYW50IGJ5IENvdW50cnkiKSArDQogIHRoZW1lKHBhbmVsLmdyaWQubWFqb3IgPSBlbGVtZW50X2xpbmUoY29sb3IgPSBncmF5KC41KSwgbGluZXR5cGUgPSAiZGFzaGVkIiwgc2l6ZSA9IDAuNSksIHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICJ3aGl0ZSIpLCAgICAgICAgICAgICAgICBsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIiwgDQogICAgICAgICAgICAgIGxlZ2VuZC50ZXh0PSBlbGVtZW50X3RleHQoc2l6ZSA9IDUpLA0KICAgICAgICAgICAgICBsZWdlbmQudGl0bGUgPSBlbGVtZW50X2JsYW5rKCksDQogICAgICAgICAgICAgIGxlZ2VuZC5rZXkuc2l6ZSA9IHVuaXQoMSwgImxpbmUiKQ0KICAgICAgICAgICAgICApIA0KDQpwDQpgYGANCg0KYGBge3J9DQpwIDwtIGdncGxvdChkYXRhID0gd29ybGRfY2FzZXNfcGVyX21pbF9tYXAsIGFlcyhmaWxsID0gbmV3X2Nhc2VzX3Blcl9taWwsIHRleHQgPSBwYXN0ZTAoIkNvdW50cnk6ICIsIG5hbWUsICJcbkxhc3QgZGF0ZTogIiwgbW9zdF9yZWNlbnRfZGF0ZSkpKSArIA0KICBnZW9tX3NmKCkgKyANCiAgeGxhYigiIikgKyANCiAgeWxhYigiIikgKw0KICBsYWJzKGZpbGwgPSAiTmV3IENhc2VzIFBlciBNaWxsaW9uIikgKyANCiAgbGFicyh0aXRsZSA9ICJOZXcgQ2FzZXMgUGVyIE1pbGxpb24gYnkgQ291bnRyeSIpICsNCiAgdGhlbWUocGFuZWwuZ3JpZC5tYWpvciA9IGVsZW1lbnRfbGluZShjb2xvciA9IGdyYXkoLjUpLCBsaW5ldHlwZSA9ICJkYXNoZWQiLCBzaXplID0gMC41KSwgcGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdChmaWxsID0gIndoaXRlIiksICAgICAgICAgICAgICAgIGxlZ2VuZC5wb3NpdGlvbiA9ICJib3R0b20iLCANCiAgICAgICAgICAgICAgbGVnZW5kLnRleHQ9IGVsZW1lbnRfdGV4dChzaXplID0gNSksDQogICAgICAgICAgICAgIGxlZ2VuZC5rZXkuc2l6ZSA9IHVuaXQoMSwgImxpbmUiKQ0KICAgICAgICAgICAgICApICsgDQogIHNjYWxlX2ZpbGxfdmlyaWRpc19jKG9wdGlvbiA9ICJGIiwgZGlyZWN0aW9uID0gLTEpDQoNCnANCmBgYA0KDQpgYGB7cn0NCnAgPC0gZ2dwbG90KGRhdGEgPSB3b3JsZF9jYXNlc19tYXAsIGFlcyhmaWxsID0gbmV3X2Nhc2VzLCB0ZXh0ID0gcGFzdGUwKCJDb3VudHJ5OiAiLCBuYW1lLCAiXG5MYXN0IGRhdGU6ICIsIG1vc3RfcmVjZW50X2RhdGUpKSkgKyANCiAgZ2VvbV9zZigpICsgDQogIHhsYWIoIiIpICsgDQogIHlsYWIoIiIpICsNCiAgbGFicyhmaWxsID0gIk5ldyBDYXNlcyIpICsgDQogIGxhYnModGl0bGUgPSAiTmV3IENhc2VzIGJ5IENvdW50cnkiKSArDQogIHRoZW1lKHBhbmVsLmdyaWQubWFqb3IgPSBlbGVtZW50X2xpbmUoY29sb3IgPSBncmF5KC41KSwgbGluZXR5cGUgPSAiZGFzaGVkIiwgc2l6ZSA9IDAuNSksIHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICJ3aGl0ZSIpLCAgICAgICAgICAgICAgICBsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIiwgDQogICAgICAgICAgICAgIGxlZ2VuZC50ZXh0PSBlbGVtZW50X3RleHQoc2l6ZSA9IDUpLA0KICAgICAgICAgICAgICBsZWdlbmQua2V5LnNpemUgPSB1bml0KDEsICJsaW5lIikNCiAgICAgICAgICAgICAgKSArIA0KICBzY2FsZV9maWxsX3ZpcmlkaXNfYyhvcHRpb24gPSAiRiIsIGRpcmVjdGlvbiA9IC0xKQ0KDQpwDQpgYGANCg0KDQpgYGB7cn0NCndvcmxkX2Nhc2VzX3Blcl9taWxfZGYgJT4lIA0KICBhcnJhbmdlKC1uZXdfY2FzZXNfcGVyX21pbCkNCmBgYA0KDQpgYGB7cn0NCndvcmxkX2Nhc2VzX2RmICU+JSANCiAgZmlsdGVyKGxvY2F0aW9uICUhaW4lIGMoIldvcmxkIiwgIkhpZ2ggaW5jb21lIiwgIkV1cm9wZSIsICJFdXJvcGVhbiBVbmlvbiIsICJBc2lhIiwgIlVwcGVyIG1pZGRsZSBpbmNvbWUiLCAiTG93ZXIgbWlkZGxlIGluY29tZSIsICJPY2VhbmlhIiwgIk5vcnRoIEFtZXJpY2EiLCAiU291dGggQW1lcmljYSIpKSAlPiUgDQogIGFycmFuZ2UoLW5ld19jYXNlcykNCmBgYA0KDQpgYGB7cn0NCmNhc2VzIDwtIGNvdmlkICU+JSANCiAgZmlsdGVyKGxvY2F0aW9uICUhaW4lIGMoIldvcmxkIiwgIkhpZ2ggaW5jb21lIiwgIkV1cm9wZSIsICJFdXJvcGVhbiBVbmlvbiIsICJBc2lhIiwgIlVwcGVyIG1pZGRsZSBpbmNvbWUiLCAiTG93ZXIgbWlkZGxlIGluY29tZSIsICJPY2VhbmlhIiwgIk5vcnRoIEFtZXJpY2EiLCAiU291dGggQW1lcmljYSIpKSAlPiUgDQogIHNlbGVjdChkYXRlLCBsb2NhdGlvbiwgbmV3X2Nhc2VzX3Ntb290aGVkKSAlPiUNCiAgZHJvcF9uYSgpICU+JSANCiAgZ2xpbXBzZSgpDQpgYGANCg0KYGBge3J9DQpzcHJlYWRfY2FzZXMgPC0gY2FzZXMgJT4lIA0KICBzcHJlYWQobG9jYXRpb24sIG5ld19jYXNlc19zbW9vdGhlZCkNCmBgYA0KDQpgYGB7cn0NCmNhc2VzIDwtIHQoc3ByZWFkX2Nhc2VzWy0xXSkNCmNhc2VzX2Rpc3QgPC0gZGlzdChjYXNlcywgbWV0aG9kID0gImV1Y2xpZGVhbiIpDQpmaXQgPC0gaGNsdXN0KGNhc2VzX2Rpc3QsIG1ldGhvZCA9ICJ3YXJkLkQiKQ0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShnZ2RlbmRybykNCmdnZGVuZHJvZ3JhbShmaXQsIHJvdGF0ZSA9IFRSVUUsIHRoZW1lX2RlbmRybyA9IEZBTFNFKSArIA0KICB0aGVtZV9taW5pbWFsKCkgKyANCiAgeGxhYigiIikgKw0KICB5bGFiKCIiKSANCmBgYA0KDQpgYGB7cn0NCmQgPC0gY3V0KGFzLmRlbmRyb2dyYW0oZml0KSwgaCA9IDEwMDAwMDAwKQ0KZA0KYGBgDQoNCmBgYHtyfQ0KcGxvdChkJGxvd2VyW1syXV0pDQpwYXIobWZyb3cgPSBjKDEsMSkpDQpgYGANCg0KYGBge3J9DQpjbHVzdGVyZWRfZGF0YSA8LSBjdXRyZWUoZml0LCBrID0gNCkNCmNsdXN0ZXJlZF9kYXRhX3RpZHkgPC0gYXMuZGF0YS5mcmFtZShhcy50YWJsZShjbHVzdGVyZWRfZGF0YSkpICU+JSANCiAgZ2xpbXBzZSgpDQpjb2xuYW1lcyhjbHVzdGVyZWRfZGF0YV90aWR5KSA8LSBjKCJsb2NhdGlvbiIsICJjbHVzdGVyIikNCmNsdXN0ZXJlZF9kYXRhX3RpZHkkbG9jYXRpb24gPC0gYXMuY2hhcmFjdGVyKGNsdXN0ZXJlZF9kYXRhX3RpZHkkbG9jYXRpb24pDQoNCmpvaW5lZF9jbHVzdGVycyA8LSBjYXNlcyAlPiUgDQogIGlubmVyX2pvaW4oY2x1c3RlcmVkX2RhdGFfdGlkeSwgYnkgPSAibG9jYXRpb24iKSAlPiUgDQogIGdsaW1wc2UoKQ0KYGBgDQoNCmBgYHtyfQ0KdGFibGUoY2x1c3RlcmVkX2RhdGFfdGlkeSRjbHVzdGVyKQ0KYGBgDQoNCmBgYHtyfQ0KY2x1c3RlcjMgPC0gam9pbmVkX2NsdXN0ZXJzICU+JSANCiAgZmlsdGVyKGNsdXN0ZXIgPT0gIjMiKQ0KDQpnZ3Bsb3QoY2x1c3RlcjMsIGFlcyhkYXRlLCBuZXdfY2FzZXNfc21vb3RoZWQpKSArDQogIGdlb21fbGluZShjb2xvciA9ICJncmV5IikgKw0KICB0aGVtZV9taW5pbWFsKCkgKw0KICBnZW9tX3Ntb290aChtZXRob2QgPSAiYXV0byIsIGNvbG9yID0gInJlZCIsIHNlID0gRiwgc2l6ZSA9IDAuNSkgKw0KICBmYWNldF93cmFwKH5sb2NhdGlvbikNCmBgYA0KDQo=